/**********************************************************************
 * Project : WoWGuildRoster (http://www.codeplex.com/WowGuildRoster/)
 * Module  : DotNetWarcraft.WoWGuildRoster.Business.Exceptions
 **********************************************************************
 * 
 * 
 * 
 **********************************************************************
 * License : All code is subject to licensing terms per the Microsoft
 *   Permissive License (Ms-PL) v1.1. For full license information,
 *   refer to the packaged license.txt file.
 **********************************************************************
 * Revision History:
 * -----------------
 * 2007-07-29 -- Cliff Simpkins: Initial Version
 **********************************************************************
 */
using System;
using System.Collections.Generic;
using System.Text;

namespace DotNetWarcraft.WoWGuildRoster.Business.Exceptions {

  #region "Invalid LUA File Exceptions"
  public abstract class InvalidLuaFile : WoWGuildRosterException {
    protected const String MessagePrefix = "Invalid LUA File Uploaded: ";
  }

  //public class InvalidLuaFile_InvalidVersion : DotNetWarcraft.WoWGuildRoster.Business.Exceptions.InvalidLuaFile {
  //  String _luaVersion = "", _versionMin = "", _versionMax = "";

  //  public InvalidLuaFile_InvalidVersion(String LuaVersion, String VersionMin, String VersionMax)
  //    : base() {
  //    _luaVersion = LuaVersion;
  //    _versionMin = VersionMin;
  //    _versionMax = VersionMax;
  //  }
  //  public override string Message {
  //    get {
  //      return MessagePrefix + "The uploaded version (v" + _luaVersion + ") must be between v" + _versionMin + " and v" + _versionMax + ".";
  //    }
  //  }

  //}
  public class InvalidLuaFile_NoServerData : InvalidLuaFile {
    String _server = "";

    public InvalidLuaFile_NoServerData(String ServerName)
      : base() {
      _server = ServerName;
    }
    public override string Message {
      get {
        return MessagePrefix + "The uploaded LUA file did not contain the requested server (" + _server + ").";
      }
    }
  }

  public class InvalidLuaFile_NoGuildData : InvalidLuaFile {
    String _guild = "";

    public InvalidLuaFile_NoGuildData(String GuildName)
      : base() {
      _guild = GuildName;
    }
    public override string Message {
      get {
        return MessagePrefix + "The uploaded LUA file did not contain the requested guild (" + _guild + ").";
      }
    }
  }

  public class InvalidLuaFile_NoServerGuildData : InvalidLuaFile {
    String _server = "", _guild = "";

    public InvalidLuaFile_NoServerGuildData(String ServerName, String GuildName)
      : base() {
      _server = ServerName;
      _guild = GuildName;
    }
    public override string Message {
      get {
        return MessagePrefix + "The uploaded LUA file did not contain the requested server/guild combination (" + _server + "/ " + _guild + ").";
      }
    }
  }


  public class InvalidLuaFile_Malformed_NoCaptureBlock : InvalidLuaFile {
    public override string Message {
      get {
        return MessagePrefix + "The uploaded LUA file did not contain a CAPTURE block.";
      }
    }
  }
  public class InvalidLuaFile_Malformed_NoGbDataBlock : InvalidLuaFile {
    public override string Message {
      get {
        return MessagePrefix + "The uploaded LUA file did not contain a GB_DATA block.";
      }
    }
  }


  #endregion

}
